package com.tdt.alarm.model;

import java.util.List;

import android.net.Uri;

public class SetAlarm{
	public static final int SUNDAY = 0;
    public static final int MONDAY = 1;
    public static final int TUESDAY = 2;
    public static final int WEDNESDAY = 3;
    public static final int THURSDAY = 4;
    public static final int FRDIAY = 5;
    public static final int SATURDAY = 6;
    
    private long id;
	private Time time;
	private boolean repeatWeekly; // is Repeat weekly
	private boolean repeatingDays[];// mon, tue, wed, thu,fri,sat,sun
	private String label;
	private String soundType; // slient, ringtone, music, random song
	private Uri ringtone;
	private boolean vibrate;
	private boolean volumeIncrease; // start very quite and increase
	private int volume;
	private int snoozeMethod; // press on screen, press on button random
								// locate,solve math, no snooze
	private int snoozeTime; // option: 2 min, 5 min, 10 min, 15 min
	private int dismiss;// option same snoozeMethod
	private String labelTime; // counter time remaining
	private boolean checkActive; // checkbox turn alarm on or off

	public SetAlarm() {
		ringtone = null;
		repeatingDays = new boolean[7];
		for(int i = 0; i < 7; i++){
			repeatingDays[i] = true;
		}
		this.label = " ";
		this.soundType = "";
		this.vibrate = false;
		this.volumeIncrease = false;
		this.volume = 5;
		this.snoozeMethod = 0;
		this.snoozeTime = 1;
		this.checkActive = false;
	}

	public SetAlarm(Time time, List<String> repeat, String label,
			String soundType, Uri ringtone, boolean vibrate,
			boolean volumeIncrease, int volume, int snoozeMethod,
			int snoozeTime, int dismiss, String labelTime, boolean checkActive) {
		this.time = time;
		repeatingDays = new boolean[7];

		this.label = label;
		this.soundType = soundType;
		this.ringtone = ringtone;
		this.vibrate = vibrate;
		this.volumeIncrease = volumeIncrease;
		this.volume = volume;
		this.snoozeMethod = snoozeMethod;
		this.snoozeTime = snoozeTime;
		this.dismiss = dismiss;
		this.labelTime = labelTime;
		this.checkActive = checkActive;
	}
	
	
	

	public SetAlarm(long id, Time time, boolean[] repeatingDays, String label,
			Uri ringtone, boolean checkActive, boolean repeatWeekly) {
		super();
		this.id = id;
		this.time = time;
		this.repeatingDays = repeatingDays;
		this.label = label;
		this.ringtone = ringtone;
		this.checkActive = checkActive;
		this.repeatWeekly = repeatWeekly;
	}

	public void setRepeatingDay(int dayOfWeek, boolean value) {
        repeatingDays[dayOfWeek] = value;
    }
 
    public boolean getRepeatingDay(int dayOfWeek) {
        return repeatingDays[dayOfWeek];
    }

	public boolean isCheckActive() {
		return checkActive;
	}

	public void setCheckActive(boolean checkActive) {
		this.checkActive = checkActive;
	}

	public String getLabelTime() {
		return labelTime;
	}

	public void setLabelTime(String labelTime) {
		this.labelTime = labelTime;
	}

	public Time getTime() {
		return time;
	}

	public void setTime(Time time) {
		this.time = time;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String lable) {
		this.label = lable;
	}

	public String getSoundType() {
		return soundType;
	}

	public void setSoundType(String soundType) {
		this.soundType = soundType;
	}

	public boolean isVibrate() {
		return vibrate;
	}

	public void setVibrate(boolean vibrate) {
		this.vibrate = vibrate;
	}

	public boolean isVolumeIncrease() {
		return volumeIncrease;
	}

	public void setVolumeIncrease(boolean volumeIncrease) {
		this.volumeIncrease = volumeIncrease;
	}

	public int getVolume() {
		return volume;
	}

	public void setVolume(int volume) {
		this.volume = volume;
	}

	public int getSnoozeMethod() {
		return snoozeMethod;
	}

	public void setSnoozeMethod(int snoozeMethod) {
		this.snoozeMethod = snoozeMethod;
	}

	public int getSnoozeTime() {
		return snoozeTime;
	}

	public void setSnoozeTime(int snoozeTime) {
		this.snoozeTime = snoozeTime;
	}

	public int getDismiss() {
		return dismiss;
	}

	public void setDismiss(int dismiss) {
		this.dismiss = dismiss;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public boolean isRepeatWeekly() {
		return repeatWeekly;
	}

	public void setRepeatWeekly(boolean repeatWeekly) {
		this.repeatWeekly = repeatWeekly;
	}

	public boolean[] getRepeatingDays() {
		return repeatingDays;
	}

	public void setRepeatingDays(boolean[] repeatingDays) {
		this.repeatingDays = repeatingDays;
	}

	public Uri getRingtone() {
		return ringtone;
	}

	public void setRingtone(Uri ringtone) {
		this.ringtone = ringtone;
	}
	
	

}
